package com.yinhai.mycat_test.mapper.read;

import java.util.List;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.yinhai.mycat_test.entity.Order;

public interface OrderReadMapper extends BaseMapper<Order> {
    /**
     * 通过id查询订单
     * */
    Order queryOneOrder(Long orderId);
    /**
     * 分页查询所有订单
     * */
    <E extends IPage<Order>> IPage<Order> queryAllOrder(E page);
    
    /**
     * 根据userid分页查询订单
     *
     * @param page
     * @param userId
     * @param <E>
     * @return
     */
    <E extends IPage<Order>> IPage<Order> queryAllOrderByUserId(E page,Long userId);
    
    /**
     * 根据订单id模糊查询订单
     * */
    List<Order> queryOrderIdLike01(Long id);
    
    /**
     * 根据商品名称查询某个商品的订单
     *
     * @param orderName
     * @return
     */
    List<Order> queryAllOrderByOrderName(String orderName);
    
    /**
     * 根据用户id模糊查询该用户的商品名称订单列表
     * */
    List<Order> queryOrderNameLike02(Long userId, String name);
    
    /**
     * 查询所有订单数量
     * */
    Integer queryOrderCount();
    
    /**
     * 根据用户id查询该用户所有订单数量
     *
     * @param userId
     * @return
     */
    Integer queryOrderCountByUserId(Long userId);
}
